package com.qiuling.iot.service;

import com.qiuling.iot.entity.SysPermission;
import com.qiuling.iot.vo.req.PermissionAddReqVO;
import com.qiuling.iot.vo.req.PermissionUpdateReqVO;
import com.qiuling.iot.vo.resp.PermissionRespNodeVO;

import java.util.List;
import java.util.Set;

/**
 * @Author：zhangqiang
 * @Description：
 * @Date：Created in 16:50 2020/2/11
 * @Modified By：
 */
public interface PermissionService {

    List<SysPermission> selectAll();

    List<PermissionRespNodeVO> selectAllMenuByTree();

    SysPermission addPermission(PermissionAddReqVO vo);

    List<PermissionRespNodeVO> permissionTreeList(String userId);

    List<PermissionRespNodeVO> selectAllTree();

    void updatePermission(PermissionUpdateReqVO vo);

    void deletedPermission(String permissionId);

    Set<String> getPermissionsByUserId(String userId);

    List<SysPermission> getPermission(String userId);
}
